package cn.wolfcode.mongo.service;

import cn.wolfcode.mongo.domain.User;

import java.util.List;

public interface IUserService {

    void save(User user);
    void update(User user);
    void delete(String id);
    User get(String id);
    List<User> list();


    User findByName(String name);

    User findByNameAndAge(String name,Integer age);

    List<User> findByNameOrAge(String name,Integer age);

    List<User> findByAgeBetween(Integer min,Integer max);

    List<User> findByAgeLessThan(Integer age);

    List<User> findByAgeLessThanEqual(Integer age);

    List<User> findByAgeGreaterThan(Integer age);

    List<User> findByAgeGreaterThanEqual(Integer age);

    List<User> findByNameIsNull();

    List<User> findByNameIsNotNull();

    List<User> findByNameLike(String name);

    List<User> findByNameNotLike(String name);

    List<User> findByNameStartingWith(String name);

    List<User> findByNameEndingWith(String name);

    List<User> findByNameContaining(String name);

    List<User> findByNameNot(String name);

    List<User> findByNameIn(List<String> names);

    List<User> findByNameNotIn(List<String> names);

    List<User> findByNameIgnoreCase(String name);

}
